﻿
namespace TotalSystems.DataAccess.Store
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    //using System.ServiceModel.DomainServices.Hosting;
    //using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies STR_StoreDocumentMetadata as the class
    // that carries additional metadata for the STR_StoreDocument class.
    [MetadataTypeAttribute(typeof(STR_StoreDocument.STR_StoreDocumentMetadata))]
    public partial class STR_StoreDocument
    {

        // This class allows you to attach custom attributes to properties
        // of the STR_StoreDocument class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class STR_StoreDocumentMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private STR_StoreDocumentMetadata()
            {
            }

            public decimal ACC_Ad_Consistency_Id_fk { get; set; }

            public short ACC_Fy_ID_fk { get; set; }

            public AGM_Agreement AGM_Agreement { get; set; }

            public decimal AGM_Agreement_ID_fk { get; set; }

            public PUB_Customer PUB_Customer { get; set; }

            public long PUB_Customer_ID_fk { get; set; }

            public PUB_Department PUB_Department { get; set; }

            public int PUB_Department_ID_fk { get; set; }

            public PUB_Document PUB_Document { get; set; }

            public int PUB_Document_ID_fk { get; set; }

            public decimal PUB_Location_ID_fk { get; set; }

            public int PUB_User_ID_fk { get; set; }

            public decimal STR_CargoPaopr_ID_fk { get; set; }

            public STR_CargoPaper STR_CargoPaper { get; set; }

            public bool STR_Sd_Active { get; set; }

            public string STR_Sd_Date { get; set; }

            public string STR_Sd_DelegateNote { get; set; }

            public string STR_Sd_DeleteDate { get; set; }

            public string STR_Sd_DisproofDate { get; set; }

            public string STR_Sd_DisproofDescription { get; set; }

            public Nullable<byte> STR_Sd_DisproofStatus { get; set; }

            public decimal STR_Sd_ID { get; set; }

            public bool STR_Sd_IsExpand { get; set; }

            public decimal STR_Sd_Like_ID { get; set; }

            public Nullable<byte> STR_Sd_LuckStatus { get; set; }

            public string STR_Sd_ModifyDate { get; set; }

            public string STR_Sd_Note { get; set; }

            public string STR_Sd_OkUserDate { get; set; }

            public string STR_Sd_OkUserDescription { get; set; }

            public Nullable<byte> STR_Sd_OkUserStatus { get; set; }

            public Nullable<int> STR_Sd_Preference { get; set; }

            public string STR_Sd_Temp { get; set; }

            public string STR_Sd_Title { get; set; }

            public Nullable<short> STR_Sd_Type { get; set; }

            public Nullable<short> STR_SdFinancialYear_Like_ID { get; set; }

            public decimal STR_SecondaryStore_ID_fk { get; set; }

            public STR_Store STR_Store { get; set; }

            public decimal STR_Store_ID_fk { get; set; }

            public EntityCollection<STR_StoreDocumentDetail> STR_StoreDocumentDetail { get; set; }

            public decimal VEP_Vd_ID_fk { get; set; }

            public VEP_VendProduct VEP_VendProduct { get; set; }

            public WOP_WorkPermission WOP_WorkPermission { get; set; }

            public decimal WOP_Wp_ID_fk { get; set; }
        }
    }
}
